#ifndef FACE_DETECT_FACE_DETECT_H
#define FACE_DETECT_FACE_DETECT_H

#include <iostream>
#include <vector>

using namespace std;

namespace gonghui_face{

    #define CODE_NOT_LOADED -1000;
    #define CODE_FACE_NOT_FOUND -1001;
    #define CODE_TO_MANY_FACE_FOUND -1002;
    #define CODE_SYSTEM_ERROR -9999;


    class face_frame {
    public:
        unsigned char * p;
        int width;
        int height;
    };

    //start face

    void load_model(
            string face_landmarks_model_path,
            string face_rec_model_path
    );

    int face_detect_count(
            string face_image_path
    );

    string face_detect_frame_with_descriptor(
            std::vector<face_frame> face_frames
    );

    string get_face_descriptor(
            string face_image_path
    );

    double compare_face(
            string face_desc_str_1,
            string face_desc_str_2,
            double similar
    );

    //end face
}

#endif
